The applications commonly run on computers have increased in complexity to the point that users are often forced to deal with procedures that can be quite complex and involve long sequences of steps. The installation of a computer printer, for example, can be quite cumbersome and may involve significant user input. Unfortunately, the interfaces with which a user must work to run an application are not necessarily easy to learn and use.
Windows, Icon, Menu, Pointer (WIMP) interfaces have dominated interface technology for over two decades. They surpassed their predecessors in terms of ease of use, primarily due to the application of direct manipulation interface techniques (see, for example, B. Shneiderman, Designing the user interface: strategies for effective human-computer-interaction, 3rd edition, Chapter 6, “Direct manipulation and virtual environments”, pp. 184-233, 1998). WIMP interfaces, which typically rely on the “point and click” technique, facilitate direct physical actions on objects (i.e., icons or any other visual representation) related to tasks to be performed, leading to increased productivity and improved usability. Over the years WIMP interfaces have been improved in many ways. The desktop metaphor (see, for example, J. A. Johnson et al., “The desktop metaphor as an approach to user interface design”, Proc. ACM Annual Conference on the Range of Computing, pp. 548-549, 1985) supplemented direct manipulation interfaces by providing a familiar organization style that relied upon recognition rather than recall of the specific task names. Also, animated icons have been proposed as a technique for presenting complex tasks to users by animating between pre- and post-task representations of objects (see, for example, R. C. Bodner et al., “Using animated icons to present complex tasks”, Proceedings of CASCON, pp. 281-291, 1997).
However, tasks in many currently run applications are more complex than what the desktop metaphor may suggest. They typically involve long sequences of steps, and may involve a number of different objects. Attempting to address such demands, developers have introduced task wizards, which have rapidly become the de-facto solution to this problem of task complexity. Wizards are basically sequences of dialogs that guide users in their tasks. They are, however, a deviation from accomplishing tasks through the direct manipulation of objects, and can result in usability problems (see, for example, J. M. Spool et al., “Designing for Complex Products,” Proc. ACM SIGCHI, Tutorials, pp. 395-399, 1995). Users often flounder during some task wizards and hit dead ends due to missing prerequisites. This may cause them to switch frequently among alternatives, explore a number of options, and become frustrated. At the end of the process, users typically have trouble verifying that they have completed the task properly since task wizards manipulate objects indirectly. In addition, users may be unaware of any unintended side effects of canceling certain operations or going back while working through the wizard's dialogs. In some sense, wizards may be regarded as a step backwards from the principles of direct manipulation of objects, reversible actions, and continuous feedback. These problems have even led some to question the applicability of direct manipulation interfaces to complex applications. There clearly remains a need for a more usable approach to interacting with applications.
To this end, methodology is disclosed herein in which jigsaw pieces representing tasks are arranged hierarchically in a tree. This methodology differs significantly from the widget metaphors of, for example, Glinert who in his BLOX visual programming language represented imperative programming constructs (e.g. IF, THEN, ELSE, WHILE, etc.) using jigsaw-like tiles that can be stitched together to create program fragments, and Bonar et al., who described a visual programming language called BridgeTalk, in which constructs are implemented as icons that can be picked, manipulated, placed, and connected together. (See P. E. Glinert, “Out of flatland: Towards 3-d visual programming”, Visual Programming Environments: Applications and Issues, IEEE Computer Society Press, pp. 547-554, 1990; and Bonar et al., “A visual programming language for novices”, in Principles of Visual Programming Systems, S.-K. Chang, Ed., Prentice Hall, pp. 326-366, 1990). Furthermore, the methodology herein differs from that disclosed in the IBM April 1995 Technical Disclosure Bulletin “Access/Control Icons”. For example, these references do not disclose the hierarchical organization of jigsaw pieces, and, in addition, the user is not prompted for input or information necessary for the completion of a task after the corresponding jigsaw pieces have been brought together.